package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Syslog;
import com.wyzz.hr.pojo.base.base.BaseBean;

public abstract class BaseSyslog extends BaseBean implements Serializable {

	public BaseSyslog() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseSyslog(String id) {
		hashCode = 0x80000000;
		setId(id);
		initialize();
	}

	public BaseSyslog(String id, Employee slChangeEmpno, Integer slType,
			String slTableName, String slRecordId, String slAction,
			Date slChangeTime) {
		hashCode = 0x80000000;
		setId(id);
		setSlChangeEmpno(slChangeEmpno);
		setSlType(slType);
		setSlTableName(slTableName);
		setSlRecordId(slRecordId);
		setSlAction(slAction);
		setSlChangeTime(slChangeTime);
		initialize();
	}

	protected void initialize() {
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
		hashCode = 0x80000000;
	}

	public Integer getSlType() {
		return slType;
	}

	public void setSlType(Integer slType) {
		this.slType = slType;
	}

	public String getSlTableName() {
		return slTableName;
	}

	public void setSlTableName(String slTableName) {
		this.slTableName = slTableName;
	}

	public String getSlEmpno() {
		return slEmpno;
	}

	public void setSlEmpno(String slEmpno) {
		this.slEmpno = slEmpno;
	}

	public String getSlRecordId() {
		return slRecordId;
	}

	public void setSlRecordId(String slRecordId) {
		this.slRecordId = slRecordId;
	}

	public String getSlAction() {
		return slAction;
	}

	public void setSlAction(String slAction) {
		this.slAction = slAction;
	}

	public Date getSlChangeTime() {
		return slChangeTime;
	}

	public void setSlChangeTime(Date slChangeTime) {
		this.slChangeTime = slChangeTime;
	}

	public String getSlComments() {
		return slComments;
	}

	public void setSlComments(String slComments) {
		this.slComments = slComments;
	}

	public Employee getSlChangeEmpno() {
		return slChangeEmpno;
	}

	public void setSlChangeEmpno(Employee slChangeEmpno) {
		this.slChangeEmpno = slChangeEmpno;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Syslog))
			return false;
		Syslog syslog = (Syslog) obj;
		if (null == getId() || null == syslog.getId())
			return false;
		else
			return getId().equals(syslog.getId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "Syslog";
	public static String PROP_SL_TABLE_NAME = "slTableName";
	public static String PROP_SL_COMMENTS = "slComments";
	public static String PROP_SL_RECORD_ID = "slRecordId";
	public static String PROP_SL_TYPE = "slType";
	public static String PROP_ID = "id";
	public static String PROP_SL_ACTION = "slAction";
	public static String PROP_SL_CHANGE_EMPNO = "slChangeEmpno";
	public static String PROP_SL_CHANGE_TIME = "slChangeTime";
	public static String PROP_SL_EMPNO = "slEmpno";
	private int hashCode;
	private String id;
	private Integer slType;
	private String slTableName;
	private String slEmpno;
	private String slRecordId;
	private String slAction;
	private Date slChangeTime;
	private String slComments;
	private Employee slChangeEmpno;

}
